// 定义接口函数
// 1.导入request请求函数
import request from '@/utils/request'

// 重新导入axios而不再用request
import axios from 'axios'

// 导入store实例
import store from '@/store'

// 2.定义接口函数并导出
// 登录接口
export const loginAPI = (loginForm) => {
  return request({
    method: 'POST',
    url: '/v1_0/authorizations',
    data: loginForm
  })
}

// 获取用户信息
export const getUserInfoAPI = () => {
  return request({
    method: 'get',
    url: '/v1_0/user'
  })
}

// 获取用户个人资料
export const getUserProfileAPI = () => {
  return request({
    method: 'get',
    url: '/v1_0/user/profile'
  })
}

// 更新用户头像
export const getPhotoAPI = (formData) => {
  return request({
    method: 'patch',
    url: '/v1_0/user/photo',
    // formData本身就是对象，所以不需要再加{}
    data: formData
  })
}

// 更新用户资料
export const updateUserNameAPI = (userObj) => {
  return request({
    method: 'patch',
    url: '/v1_0/user/profile',
    data: userObj
  })
}

// 用refreshToken获取新的token
export const updateTokenAPI = () => {
  // 这里是要用axios发请求，而不是request。因为如果用了request，会触发请求拦截器，会给后台携带一个过期无效的token
  // 所以这里需要把refreshToken传给后台
  return axios({
    method: 'put',
    // 这里的url要写完整地址，因为只给request配置了基地址
    url: 'http://toutiao.itheima.net/v1_0/authorizations',
    headers: {
      Authorization: `Bearer ${store.state.user.refreshToken}`
    }
  })
}
